package com.hotpot.ioc.core;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 描述:用来标记要用ioc容器的类
 * 说明：标注实例name
 * @author myx
 * @date 2017年6月23日 下午4:18:20
 */
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE })
public @interface Ioc {

	/**
	 * 方法描述：实例名称，不填默认为className
	 * @return
	 * @return: String
	 */
    String value() default "";
    
    /**
     * 方法描述：是否懒加载
     * @return
     * @return: boolean
     */
    boolean lazy() default false;
    
    /**
     * 方法描述：是否多例
     * @return
     * @return: boolean
     */
    boolean mult() default false;
    
    /**
     * 方法描述：aop支持，启用代理模式
     * @return
     * @return: boolean
     */
    boolean aop() default false;
    
}
